package com.bjim.common;

import cn.dreampie.orm.Model;
import cn.dreampie.orm.TableMeta;


/**
 * 
 * @author chen
 *	BaseModel基类，所有表映射的Model都继承这个类
 * @param <M>
 */
public class BaseModel<M extends BaseModel>  extends Model<M>{
	/**
	 * 获取String类型数据
	 * @param attr
	 * @return String
	 */
	public String getStr(String attr){
		if(get(attr)==null){
			return null;
		}
		return get(attr).toString();
	}
	
	/**
	 * 获取Int类型数据
	 * @param attr
	 * @return
	 */
	public Integer getInt(String attr){
		Object v=get(attr);
		return get(attr);
	}
	
	/**
	 * 如果存在主键值则更新，否则保存
	 * @return
	 */
	public boolean saveOrUpdate(){
		TableMeta tableMeta = getTableMeta();
	    String[] primaryKeys = tableMeta.getPrimaryKey();
	    String primaryKey=primaryKeys[0];
	    System.out.println(findById(get(primaryKeys[0])));
	    System.out.println(get(primaryKey).toString());
	    System.out.println(this.toJson());
	    if(findById(get(primaryKey))==null){
	    	System.out.println(this.toJson());
	    	return this.save();
	    }
	    	return update();
	}

}
